#ifndef DIGDUG_H
#define DIGDUG_H

#include "Movables.h"
#include "GlobalVariables.h"
#include "Map.h"
#include "Point.h"
#include "Utilities.h"


/*! \Class Digdug
	\brief A derived class of Movables containing the implementation of digdug.

*/

class Digdug: public Movables{

public:
	Digdug(Point& location); //!< Class constructor.
	Digdug(){}

	virtual DetectionResult move(Map &map);	
	
	//! Set _is_moving data member to true if an instruction to move is given and update digdug's direction to that input by the user
	virtual void allowMove(Direction direction);

private:
	bool _is_moving;
	
	virtual DetectionResult collisionCheck(Movable_type position_type) const;
};

#endif